Rational Apex

Rational Apex(TM) brings tightly integrated, interactive, and highly automated support for modern software-engineering practices to your Ada development projects. Available on leading open-systems platforms including IBM RS/6000 and Sun SPARC, Rational Apex cuts the costs, reduces the risks, and improves the quality of your projects, far more than is possible with the conventional approach of loosely integrated tools. Rational Apex is a fundamental component of Rational's modern, Ada-based, software-engineering solution, which comprises a set of software processes, products, and services that give you control of your software-development efforts and sharpen your competitive edge.

Improves your productivity through tight tool integration

Rational Apex replaces the conventional edit, batch-compile, debug approach with an interactive, editor-based model. The Rational model is based on a fine-grained, integrated persistent program representation that captures and manages information about your programs and makes the information available to many tools. No manual step is ever required to pass information from one tool to the next. There are no inconsistent duplicate copies of information to cause errors.

The persistent program representation is based on DIANA, an industry standard for the representation of Ada programs. Rational has augmented DIANA to manage all details about the program, including requirements, design, and code. Rational Apex uses this information to automate many tedious and error-prone tasks, such as syntactic and semantic completion of program fragments and computation of the correct and minimal compilation order.

Saves time and prevents errors during coding

Rational Apex's Ada editor, based on the Motif text widget, provides program templates and formats your program on demand while you enter it. Semantic completion warns you immediately if you violate the semantics of the language, and it shows you the options for legal parameter types. Full semantic information is available even as you build a program from scratch.

The syntactic checking and semantic functions of the editor save you time in writing new code. They also prevent errors that otherwise would be detected only when you attempt to compile your source code.

Makes your program structure understandable

The Ada editor offers interactive hypertext Ada browsing. You can visit the place where any object is declared or defined. You can see immediately all places where a given type or object is used, even across compilation units. You can quickly determine the impact of possible source-code changes.

The queries are always accurate and are never confused by Ada overloading or by reference to a variable in a comment. Rational Apex gives you a powerful and convenient way to navigate through your programs, making it easier to build, learn, and maintain them.

Supports Ada and mixed-language programs

Rational Apex includes a full Ada compiler and debugger for the IBM RS/6000 and the Sun SPARC. The compiler, built on Rational Ada technology in use since 1985, is mature and reliable. The Rational Apex debugger gives you control over all language features, including Ada generics, tasking, and exceptions.

Recognizing that most large Ada programs include some code written in other languages, Rational Apex lets you link code written in assembler, C, or other languages following the standard calling conventions on the RS/6000 or the SPARC. The Rational Apex debugger also handles C code and assembly code. You can set source-level breakpoints and step at the level of C and assembler, in addition to debugging Ada at the source level.

Slashes edit-compile-debug turnaround time

Ada's strict enforcement of interunit consistency checking is one of its great benefits, because it catches errors at compile time that other languages hide until execution time. However, this consistency checking requires extensive recompilation in conventional systems. Any time an Ada specification changes, all Ada units that depend on the changed specification must be recompiled.

Rational Apex uses optimal recompilation to give you the full safety of Ada's consistency checks while drastically reducing the amount of recompilation. With optimal recompilation, you can add declarations to a package specification, remove an unused declaration, or insert a few lines of comments, without causing the recompilation of any of the dependent units. In each case, the Rational Apex compiler uses the information in the persistent program representation to analyze the impact of the changes. If no dependent units are affected, none are recompiled. In each case, conventional Ada compilers would recompile all dependent units.

Optimal recompilation happens automatically, whether you use the Rational Apex Ada editor or some other editor, such as emacs or vi. The larger and more complex your system, the more time and money you save with this unique Rational Apex feature.

Solves your problems of configuration management and version control

All information created and used throughout the project lifecycle is managed by Rational's system of configuration management and version control (CMVC). Unlike conventional systems, which manage only source code, CMVC manages all project information stored in the persistent program representation, and it captures and maintains information produced by third-party tools that are integrated with Rational Apex. With CMVC, vital information about changes is never garbled or lost, as in conventional systems.

CMVC lets you control parallel development paths where changes are allowed. Multiple developers or teams can work from the same baselined code and return their work to the baseline without interfering with or damaging each other's work. A change history is maintained for each unit, so you can revert to an earlier version when necessary. CMVC efficiently manages multiple generations of software-project deliverables.

Complete history and project reporting is available at the level of units, libraries, and configurations, improving management control. Rational's data integration avoids the problems of loosely integrated solutions and brings you productivity and quality gains throughout the software lifecycle.

Captures and enforces your architecture

Most Ada projects, even fairly small ones, consist of many Ada packages; large projects may include thousands of packages. Rational Subsystems(TM) generalize the Ada package concept to formalize and enforce relationships among components of your system on a scale much larger than that provided by Ada packages. Subsystems capture and express, in a manageable number of components, high-level structure that cannot be expressed directly in Ada.

Inadvertent or intentional violations of your architecture lead to errors, needless recompilations, and code that is hard to maintain. This phenomenon, known as architecture degradation, affects projects throughout the lifecycle, but it hits hardest when you have most of your code written and are close to integration testing and during downstream maintenance.

Like Ada packages, Rational Subsystems have a specification and an implementation. Subsystems make your system architecture visible to all developers. Each subsystem has a formal import and export list that determines how it can be used. Developers cannot add dependencies that have not been permitted already. Changes that affect the design are detected and reported, preventing architecture degradation.

Subsystems also introduce barriers that limit recompilation. A change in the implementation part of a subsystem does not affect dependent subsystems; without subsystems, such a change could cause cascading recompilations. Subsystems prevent this, drastically reducing system-build times.




Rational Apex CMVC and subsystems capabilities
help prevent architecture degradation.


Simplifies and accelerates system integration

CMVC and Rational Subsystems are integrated, so you can create and maintain multiple releases of a subsystem. You can combine and test variants of certain subsystems using a stable set of baseline subsystems, even as new versions are being developed. This prevents the risk inherent in postponing integration until far into the development lifecycle.

You specify which set of subsystem versions you want using a simple table-driven mechanism. You can compose and test subsystems in arbitrary combinations without recompilation in most cases. When recompilation is required, Rational Apex's unique optimal-recompilation technology dramatically reduces the amount of compilation necessary. You have complete flexibility, because you can go back to stable sets of components without penalty. Rational Apex significantly improves your testing throughput, because you avoid the expensive "recompile the world" rebuilds that lengthen project schedules.

Supports prototyping and simulation

Rational Apex's emphasis on interactive, rapid-turnaround operations gives you a low-risk, low-cost way of prototyping and simulating your design very early in the development lifecycle. This iterative development process, a key element of object technology, significantly reduces project risk and cost by identifying critical problems early in your development.

Simplifies postdeployment maintenance

After your system is released, development continues as bugs are discovered and new requirements are addressed. Subsystems enforce the original design, keeping the program maintainable by preventing changes that could drastically alter the system. CMVC maintains a complete history of the source, time, and reason for changes, so you can reliably reproduce each version of your code.

Works with all Ada compilers from all vendors

Rational Apex is a universal development environment, invaluable even when you are not deploying your code on an RS/6000 or a SPARC. Ada compilers from any vendor on any platform, targeting any processor, can be integrated with Rational Apex. All of the advantages of Rational Apex apply to any Ada project, no matter what Ada compiler you choose or migrate to in the future.

Rational Apex is tightly integrated with the industry's most extensive and capable family of Ada compilers, the VADS(R) product line. VADS is available for most host-system and embedded targets.

Offers open-systems interfaces for tool integration

Rational Apex is an OSF/Motif application and conforms to the Motif style guide. All Ada objects are stored as UNIX files or directories, so your knowledge of UNIX and its tools applies to Rational Apex. FrameViewer, which is bundled with Rational Apex, provides online help and a hypertext-linked version of the Reference Manual for the Ada Programming Language.

Rational Apex supports the industry-standard Ada Semantic Interface Specification (ASIS) programmatic interfaces. Based on software specifications that Rational donated to the ASIS effort, ASIS lets you build tools that manipulate Ada code without having to parse or semantically analyze it. Your tools therefore can be more reliable, more functional, and portable.

Every Rational Apex command is available through a set of command-line interfaces as well as the graphical user interface. The full set of UNIX commands, tools, and shell scripts can be combined with the Rational Apex command-line interfaces, so you can customize Rational Apex as required for your project.




Rational Apex, as a standard X/Motif
application, can be accessed from an X-terminal
or a Motif-compliant workstation or server.
Rational Apex itself can be used on powerful
servers, desktop workstations, or a mixture
of the two.


Brings you field-proven reliability

Rational Apex is the latest generation of the industry-leading Rational Environment(TM) first shipped in 1985. Rational Apex is used to develop and maintain itself and other Rational products totaling several million lines of Ada code. Other Rational software-engineering products include the Rational Compilation Integrator(TM), TestMate(TM), Rational Rose(R), SoDA(TM), and VADS. These products work with Rational Apex to provide solutions for analysis, design, requirements traceability, automatic document generation, target-code generation, and postdeployment maintenance. Rational Apex leads the industry in capability, completeness, and openness.


D-105A; last updated 10/2/95